!function(){var a=null;window.PR_SHOULD_USE_CONTINUATION=!0,function(){function k(a){var b=a.h;try{var d=c(a.c,a.i),e=d.a;a.a=e,a.d=d.d,a.e=0,j(b,e)(a);var f=/\bMSIE\s(\d+)/.exec(navigator.userAgent),f=f&&+f[1]<=8,b=/\n/g,g=a.a,h=g.length,d=0,i=a.d,k=i.length,e=0,m=a.g,n=m.length,o=0;m[n]=h;var p,q;for(q=p=0;q<n;)m[q]!==m[q+2]?(m[p++]=m[q++],m[p++]=m[q++]):q+=2;n=p;for(q=p=0;q<n;){for(var r=m[q],s=m[q+1],t=q+2;t+2<=n&&m[t+1]===s;)t+=2;m[p++]=r,m[p++]=s,q=t}m.length=p;var u=a.c,v;u&&(v=u.style.display,u.style.display="none");try{for(;e<k;){var w=i[e+2]||h,x=m[o+2]||h,t=Math.min(w,x),y=i[e+1],z;if(y.nodeType!==1&&(z=g.substring(d,t))){f&&(z=z.replace(b,"\r")),y.nodeValue=z;var A=y.ownerDocument,B=A.createElement("span");B.className=m[o+1];var C=y.parentNode;C.replaceChild(B,y),B.appendChild(y),d<w&&(i[e+1]=y=A.createTextNode(g.substring(t,w)),C.insertBefore(y,B.nextSibling))}d=t,d>=w&&(e+=2),d>=x&&(o+=2)}}finally{u&&(u.style.display=v)}}catch(E){l.console&&console.log(E&&E.stack||E)}}function j(a,b){if(!a||!y.hasOwnProperty(a))a=/^\s*</.test(b)?"default-markup":"default-code";return y[a]}function i(a,b){for(var c=b.length;--c>=0;){var d=b[c];y.hasOwnProperty(d)?l.console&&console.warn("cannot override language handler %s",d):y[d]=a}}function h(a,b,c){function e(a){function b(a,c){var d=c?a.cloneNode(!1):a,e=a.parentNode;if(e){var e=b(e,1),f=a.nextSibling;e.appendChild(d);for(var g=f;g;g=f)f=g.nextSibling,e.appendChild(g)}return d}for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),c;(c=a.parentNode)&&c.nodeType===1;)a=c;j.push(a)}function d(a){var b=a.nodeType;if(b==1&&!f.test(a.className))if("br"===a.nodeName)e(a),a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)d(a);else if((b==3||b==4)&&c){var i=a.nodeValue,j=i.match(g);j&&(b=i.substring(0,j.index),a.nodeValue=b,(i=i.substring(j.index+j[0].length))&&a.parentNode.insertBefore(h.createTextNode(i),a.nextSibling),e(a),b||a.parentNode.removeChild(a))}}for(var f=/(?:^|\s)nocode(?:\s|$)/,g=/\r\n?|\n/,h=a.ownerDocument,i=h.createElement("li");a.firstChild;)i.appendChild(a.firstChild);for(var j=[i],k=0;k<j.length;++k)d(j[k]);b===(b|0)&&j[0].setAttribute("value",b);var l=h.createElement("ol");l.className="linenums";for(var b=Math.max(0,b-1|0)||0,k=0,m=j.length;k<m;++k)i=j[k],i.className="L"+(k+b)%10,i.firstChild||i.appendChild(h.createTextNode(" ")),l.appendChild(i);a.appendChild(l)}function g(b){var c=[],d=[];b.tripleQuotedStrings?c.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,a,"'\""]):b.multiLineStrings?c.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,a,"'\"`"]):c.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,a,"\"'"]),b.verbatimStrings&&d.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,a]);var e=b.hashComments;e&&(b.cStyleComments?(e>1?c.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,a,"#"]):c.push(["com",/^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\n\r]*)/,a,"#"]),d.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/,a])):c.push(["com",/^#[^\n\r]*/,a,"#"])),b.cStyleComments&&(d.push(["com",/^\/\/[^\n\r]*/,a]),d.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,a]));if(e=b.regexLiterals){var g=(e=e>1?"":"\n\r")?".":"[\\S\\s]";d.push(["lang-regex",RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*("+("/(?=[^/*"+e+"])(?:[^/\\x5B\\x5C"+e+"]|\\x5C"+g+"|\\x5B(?:[^\\x5C\\x5D"+e+"]|\\x5C"+g+")*(?:\\x5D|$))+/")+")")])}(e=b.types)&&d.push(["typ",e]),e=(""+b.keywords).replace(/^ | $/g,""),e.length&&d.push(["kwd",RegExp("^(?:"+e.replace(/[\s,]+/g,"|")+")\\b"),a]),c.push(["pln",/^\s+/,a," \r\n\t "]),e="^.[^\\s\\w.$@'\"`/\\\\]*",b.regexLiterals&&(e+="(?!s*/)"),d.push(["lit",/^@[$_a-z][\w$@]*/i,a],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,a],["pln",/^[$_a-z][\w$@]*/i,a],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,a,"0123456789"],["pln",/^\\[\S\s]?/,a],["pun",RegExp(e),a]);return f(c,d)}function f(c,e){function f(a){for(var b=a.e,c=[b,"pln"],k=0,l=a.a.match(h)||[],m={},n=0,o=l.length;n<o;++n){var p=l[n],q=m[p],r=void 0,s;if(typeof q=="string")s=!1;else{var t=g[p.charAt(0)];if(t)r=p.match(t[1]),q=t[0];else{for(s=0;s<i;++s)if(t=e[s],r=p.match(t[1])){q=t[0];break}r||(q="pln")}(s=q.length>=5&&"lang-"===q.substring(0,5))&&(!r||typeof r[1]!="string")&&(s=!1,q="src"),s||(m[p]=q)}t=k,k+=p.length;if(s){s=r[1];var u=p.indexOf(s),v=u+s.length;r[2]&&(v=p.length-r[2].length,u=v-s.length),q=q.substring(5),d(b+t,p.substring(0,u),f,c),d(b+t+u,s,j(q,s),c),d(b+t+v,p.substring(v),f,c)}else c.push(b+t,q)}a.g=c}var g={},h;(function(){for(var d=c.concat(e),f=[],i={},j=0,k=d.length;j<k;++j){var l=d[j],m=l[3];if(m)for(var n=m.length;--n>=0;)g[m.charAt(n)]=l;l=l[1],m=""+l,i.hasOwnProperty(m)||(f.push(l),i[m]=a)}f.push(/[\S\s]/),h=b(f)})();var i=e.length;return f}function e(a){for(var b=void 0,c=a.firstChild;c;c=c.nextSibling)var d=c.nodeType,b=d===1?b?a:c:d===3?w.test(c.nodeValue)?a:b:b;return b===a?void 0:b}function d(a,b,c,d){b&&(a={a:b,e:a},c(a),d.push.apply(d,a.g))}function c(a,b){function c(a){var i=a.nodeType;if(i==1){if(!d.test(a.className)){for(i=a.firstChild;i;i=i.nextSibling)c(i);i=a.nodeName.toLowerCase();if("br"===i||"li"===i)e[h]="\n",g[h<<1]=f++,g[h++<<1|1]=a}}else if(i==3||i==4)i=a.nodeValue,i.length&&(i=b?i.replace(/\r\n?/g,"\n"):i.replace(/[\t\n\r ]+/g," "),e[h]=i,g[h<<1]=f,f+=i.length,g[h++<<1|1]=a)}var d=/(?:^|\s)nocode(?:\s|$)/,e=[],f=0,g=[],h=0;c(a);return{a:e.join("").replace(/\n$/,""),d:g}}function b(a){function e(a){for(var b=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),e=b.length,h=[],i=0,j=0;i<e;++i){var k=b[i];k==="("?++j:"\\"===k.charAt(0)&&(k=+k.substring(1))&&(k<=j?h[k]=-1:b[i]=c(k))}for(i=1;i<h.length;++i)-1===h[i]&&(h[i]=++f);for(j=i=0;i<e;++i)k=b[i],k==="("?(++j,h[j]||(b[i]="(?:")):"\\"===k.charAt(0)&&(k=+k.substring(1))&&k<=j&&(b[i]="\\"+h[k]);for(i=0;i<e;++i)"^"===b[i]&&"^"!==b[i+1]&&(b[i]="");if(a.ignoreCase&&g)for(i=0;i<e;++i)k=b[i],a=k.charAt(0),k.length>=2&&a==="["?b[i]=d(k):a!=="\\"&&(b[i]=k.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return b.join("")}function d(a){var d=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=[],e=d[0]==="^",f=["["];e&&f.push("^");for(var e=e?1:0,g=d.length;e<g;++e){var h=d[e];if(/\\[bdsw]/i.test(h))f.push(h);else{var h=b(h),i;e+2<g&&"-"===d[e+1]?(i=b(d[e+2]),e+=2):i=h,a.push([h,i]),i<65||h>122||(i<65||h>90||a.push([Math.max(65,h)|32,Math.min(i,90)|32]),i<97||h>122||a.push([Math.max(97,h)&-33,Math.min(i,122)&-33]))}}a.sort(function(a,b){return a[0]-b[0]||b[1]-a[1]}),d=[],g=[];for(e=0;e<a.length;++e)h=a[e],h[0]<=g[1]+1?g[1]=Math.max(g[1],h[1]):d.push(g=h);for(e=0;e<d.length;++e)h=d[e],f.push(c(h[0])),h[1]>h[0]&&(h[1]+1>h[0]&&f.push("-"),f.push(c(h[1])));f.push("]");return f.join("")}function c(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);return a==="\\"||a==="-"||a==="]"||a==="^"?"\\"+a:a}function b(a){var b=a.charCodeAt(0);if(b!==92)return b;var c=a.charAt(1);return(b=l[c])?b:"0"<=c&&c<="7"?parseInt(a.substring(1),8):c==="u"||c==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}for(var f=0,g=!1,h=!1,i=0,j=a.length;i<j;++i){var k=a[i];if(k.ignoreCase)h=!0;else if(/[a-z]/i.test(k.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){g=!0,h=!1;break}}for(var l={b:8,t:9,n:10,v:11,f:12,r:13},m=[],i=0,j=a.length;i<j;++i){k=a[i];if(k.global||k.multiline)throw Error(""+k);m.push("(?:"+e(k)+")")}return RegExp(m.join("|"),h?"gi":"g")}var l=window,m=["break,continue,do,else,for,if,return,while"],n=[[m,"auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],o=[n,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],p=[n,"abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"],r=[p,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"],n=[n,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],s=[m,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],t=[m,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],u=[m,"as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"],m=[m,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],v=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/,w=/\S/,x=g({keywords:[o,r,n,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",s,t,m],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),y={};i(x,["default-code"]),i(f([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]),i(f([["pln",/^\s+/,a," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,a,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]),i(f([],[["atv",/^[\S\s]+/]]),["uq.val"]),i(g({keywords:o,hashComments:!0,cStyleComments:!0,types:v}),["c","cc","cpp","cxx","cyc","m"]),i(g({keywords:"null,true,false"}),["json"]),i(g({keywords:r,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:v}),["cs"]),i(g({keywords:p,cStyleComments:!0}),["java"]),i(g({keywords:m,hashComments:!0,multiLineStrings:!0}),["bash","bsh","csh","sh"]),i(g({keywords:s,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py","python"]),i(g({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:2}),["perl","pl","pm"]),i(g({keywords:t,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb","ruby"]),i(g({keywords:n,cStyleComments:!0,regexLiterals:!0}),["javascript","js"]),i(g({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]),i(g({keywords:u,cStyleComments:!0,multilineStrings:!0}),["rc","rs","rust"]),i(f([],[["str",/^[\S\s]+/]]),["regex"]);var z=l.PR={createSimpleLexer:f,registerLangHandler:i,sourceDecorator:g,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ",prettyPrintOne:l.prettyPrintOne=function(a,b,c){var d=document.createElement("div");d.innerHTML="<pre>"+a+"</pre>",d=d.firstChild,c&&h(d,c,!0),k({h:b,j:c,c:d,i:1});return d.innerHTML},prettyPrint:l.prettyPrint=function(b,c){function d(){for(var c=l.PR_SHOULD_USE_CONTINUATION?o.now()+250:Infinity;p<i.length&&o.now()<c;p++){for(var f=i[p],j=y,m=f;m=m.previousSibling;){var n=m.nodeType,z=(n===7||n===8)&&m.nodeValue;if(z?!/^\??prettify\b/.test(z):n!==3||/\S/.test(m.nodeValue))break;if(z){j={},z.replace(/\b(\w+)=([\w%+\-.:]+)/g,function(a,b,c){j[b]=c});break}}m=f.className;if((j!==y||t.test(m))&&!u.test(m)){n=!1;for(z=f.parentNode;z;z=z.parentNode)if(x.test(z.tagName)&&z.className&&t.test(z.className)){n=!0;break}if(!n){f.className+=" prettyprinted",n=j.lang;if(!n){var n=m.match(s),A;!n&&(A=e(f))&&w.test(A.tagName)&&(n=A.className.match(s)),n&&(n=n[1])}if(v.test(f.tagName))z=1;else var z=f.currentStyle,B=g.defaultView,z=(z=z?z.whiteSpace:B&&B.getComputedStyle?B.getComputedStyle(f,a).getPropertyValue("white-space"):0)&&"pre"===z.substring(0,3);B=j.linenums,(B=B==="true"||+B)||(B=(B=m.match(/\blinenums\b(?::(\d+))?/))?B[1]&&B[1].length?+B[1]:!0:!1),B&&h(f,B,z),r={h:n,c:f,j:B,i:z},k(r)}}}p<i.length?setTimeout(d,250):"function"==typeof b&&b()}for(var f=c||document.body,g=f.ownerDocument||document,f=[f.getElementsByTagName("pre"),f.getElementsByTagName("code"),f.getElementsByTagName("xmp")],i=[],j=0;j<f.length;++j)for(var m=0,n=f[j].length;m<n;++m)i.push(f[j][m]);var f=a,o=Date;o.now||(o={now:function(){return+(new Date)}});var p=0,r,s=/\blang(?:uage)?-([\w.]+)(?!\S)/,t=/\bprettyprint\b/,u=/\bprettyprinted\b/,v=/pre|xmp/i,w=/^code$/i,x=/^(?:pre|code|xmp)$/i,y={};d()}};typeof define=="function"&&define.amd&&define("google-code-prettify",[],function(){return z})}()}()